<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    var socket;
    //判断当前浏览器是否支持webSocket编程
    if (window.WebSocket) {
        //客户端通过WebSocket对象连接服务端
        socket = new WebSocket("ws://localhost:8080/hello");
        //相当于是channelRead0，ev 收到服务器端回送的消息。当服务端给客户端冲刷消息之后会调用这个方法
        socket.onmessage = function(ev) {
            let rt = document.getElementById("responseText");
            rt.value = rt.value + "\n" + ev.data;
        }

        //相当于是连接开启(感知到连接开启)。当客户端成功连接到服务端之后会调用这个方法
        socket.onopen = function (ev) {
            let rt = document.getElementById("responseText");
            rt.value = "连接开启了";
        }

        //相当于是连接关闭(感知到连接关闭)。当客户端与服务端断开连接之后会调用这个方法。
        socket.onclose = function (ev) {
            let rt = document.getElementById("responseText");
            rt.value = rt.value + "\n" + "连接关闭了";
        }
    } else {
        alert("当前浏览器不支持webSocket编程");
    }

    //发送消息到服务器
    function send(message) {
        //先判断socket是否创建好
        if(!window.socket) {
            return
        }
        if(socket.readyState == WebSocket.OPEN) {
            //通过socket发送消息。通过WebSocket对象把信息从客户端发送到服务端
            socket.send(message);
        } else {
            alert("连接没有开启！");
        }
    }
</script>
    <form onsubmit = "return false">
        <textarea name="message" style="height: 300px; width: 300px"></textarea>
        <input type="button" value="发送消息" onclick="send(this.form.message.value)">
        <textarea id="responseText" style="height: 300px; width: 300px"></textarea>
        <input type="button" value="清空内容" onclick="document.getElementById('responseText').value=''">
    </form>
</body>
</html>